﻿using System;
using System.Collections.Generic;
using System.Text;

namespace EnCor.ServiceLocator
{
    public interface IServiceContainer
    {
        void RegisterService<TService>(TService service);

        void RegisterService(Type t, object instance);

        TService GetService<TService>();

        object GetService(Type t);

        IServiceContainer CreateChildContainer();

        void RegisterPropertyInjection(Type targetType, string propertyName);
    }
}
